home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / B-Business / (c)b1.d64 / cops base disk.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  5KB  |  276 lines

  1. 100 REM PLATOON FILE PROGRAM
  2. 105 :
  3. 110 DIM N$(200,27):NF=27:FF=0
  4. 115 :
  5. 120 REM NF-NUMBER OF FIELDS...N$ CONTAINS THE FILE
  6. 125 :
  7. 127 PRINT"[147]MENU[146]"
  8. 130 PRINT"1     CREATE THE FILE"
  9. 135 PRINT"2     UPDATE THE FILE[146]"
  10. 140 PRINT"3     REVIEW THE FILE[146]"
  11. 145 PRINT"4     SORT[146]"
  12. 150 PRINT"5     SAVE[146]"
  13. 155 PRINT"6     QUIT[146]"
  14. 160 :
  15. 165 INPUT"YOUR  CHOICE  PLEASE";YY
  16. 170 IFYY<> 1ANDFF=0    THEN GOSUB 5000
  17. 180 ONYY GOSUB 1000,2000,3000,4000,6000,7000
  18. 185 FF=1
  19. 190 GOTO120
  20. 195 END
  21. 200 :
  22. 1000 REM CREATE THE FILE
  23. 1005 :
  24. 1010 INPUT"HOW MANY FILES";N
  25. 1011 :
  26. 1015 FOR X=1TO N
  27. 1016 PRINT"[147]"
  28. 1020 FOR Y=1 TO NF
  29. 1025 READ A$
  30. 1035 PRINTA$;
  31. 1040 INPUT N$(X,Y)
  32. 1045 NEXTY
  33. 1050 RESTORE
  34. 1055 NEXT X
  35. 1060 :
  36. 1065 PRINT"[147] PRESS PLAY/RECORD ON TAPE"
  37. 1075 PRINT"HIT 'C' TO CONTINUE"
  38. 1080 GET A$:IF A$=""THEN 1080
  39. 1085 PRINT"[147]QUIET[146] I'M SAVING"
  40. 1090 :
  41. 1095 REM SAVING ON TAPE
  42. 1097 OPEN1,8,15,"S0:DATA FILE":CLOSE1
  43. 1100 OPEN1,8,3,"DATA FILE,S,W"
  44. 1105 PRINT#1,N
  45. 1110 FOR X=1 TO N
  46. 1115 FOR Y=1TO NF
  47. 1120 PRINT#1,N$(X,Y)
  48. 1125 NEXT Y
  49. 1130 NEXT X
  50. 1135 CLOSE1
  51. 1136 RETURN
  52. 1140 :
  53. 2000 REM UPDATE ROUTINE
  54. 2005 :
  55. 2010 PRINT"[147]UPDATE MENU"
  56. 2015 PRINT"1     ADD[146]"
  57. 2020 PRINT"2     DELETE[146]"
  58. 2025 PRINT"3     CHANGE[146]"
  59. 2030 :
  60. 2035 INPUT"YOUR CHOICE PLEASE";C
  61. 2040 ON C GOSUB 2500,2700,2300
  62. 2045 INPUT"[147]ANY MORE UPDATES (Y/N)";D$
  63. 2050 IF D$="Y" THEN 2000
  64. 2055 RETURN
  65. 2300 REM CHANGE ROUTINE
  66. 2301 :
  67. 2305 INPUT"[147]BADGE # PLEASE";BN$
  68. 2310 FOR X=1TON
  69. 2315 IF BN$=N$(X,3)THEN GOSUB 2400
  70. 2320 NEXT X
  71. 2325 :
  72. 2330 RETURN
  73. 2400 REM DISPLAY RECORD
  74. 2405 :
  75. 2406 PRINT"[147]HIT RETURN[146] FOR NO CHANGE"
  76. 2410 FOR Y=1 TO NF
  77. 2415 READ A$
  78. 2420 PRINT"";A$;"[146]";TAB(20);N$(X,Y);"   ";"/";
  79. 2425 INPUT"[157][157][157]";B$
  80. 2430 IF B$<>"/" THEN N$(X,Y)=B$
  81. 2435 NEXT Y
  82. 2440 RESTORE
  83. 2445 RETURN
  84. 2450 :
  85. 2500 REM ADD SUBROUTINE
  86. 2505 :
  87. 2510 INPUT"[147]HOW MANY NEW RECORDS";NR
  88. 2512 PRINT"[147]"
  89. 2515 FOR X=N+1TON+NR
  90. 2520 FOR Y=1TONF
  91. 2525 READA$
  92. 2530 PRINTA$;" ";
  93. 2535 INPUT N$(X,Y)
  94. 2540 NEXTY
  95. 2541 PRINT"[147]"
  96. 2545 RESTORE
  97. 2550 NEXTX
  98. 2553 N=N+NR
  99. 2555 RETURN
  100. 2560 :
  101. 2700 REM DELETIONS ROUTINE
  102. 2705 :
  103. 2710 INPUT"[147]BADGE NUMBER";BN$
  104. 2715 X=1
  105. 2720 FOR I=1TO N
  106. 2725 FOR J=1TO NF
  107. 2730 IF BN$=N$(I,3) THEN I=I+1
  108. 2735 N$(X,J)=N$(I,J)
  109. 2740 NEXT J
  110. 2745 X=X+1
  111. 2750 NEXTI
  112. 2751 N=N-1
  113. 2755 RETURN
  114. 2760 :
  115. 3000 REM REVIEW ROUTINE
  116. 3005 :
  117. 3010 PRINT"[147]MENU"
  118. 3015 PRINT"1     REVIEW ENTIRE FILE"
  119. 3020 PRINT"2     REVIEW SINGLE RECORD"
  120. 3025 PRINT"3     REVIEW BY PLATOON"
  121. 3030 INPUT"YOUR CHOICE PLEASE[146]";R
  122. 3035 ON R GOSUB 3200,3500,3700
  123. 3040 INPUT"[147]ANY MORE REVIEWS";B$
  124. 3045 IF B$="Y" THEN 3000
  125. 3050 RETURN
  126. 3055 :
  127. 3200 REM ENTIRE FILE REVIEW
  128. 3205 :
  129. 3207 XX$="[160]"
  130. 3208 INPUT"[147] DO YOU WISH A PRINTER COPY";XX$
  131. 3209 IFXX$="Y" THEN OPEN4,4:PRINT#4," ":CLOSE4
  132. 3210 FOR X=1TO N
  133. 3215 PRINT"[147]"
  134. 3220 FOR Y=1TO NF
  135. 3225 READ A$
  136. 3227 IFXX$="Y" THEN GOSUB 8000
  137. 3230 PRINT"";A$;"[146]";TAB(20);
  138. 3235 PRINTN$(X,Y)
  139. 3236 IF Y=13 THEN GOSUB3950
  140. 3240 NEXTY
  141. 3245 RESTORE
  142. 3250 PRINT"HIT C TO CONTINUE[146]"
  143. 3255 GETB$:IF B$="" THEN 3255
  144. 3260 NEXT X
  145. 3261 RETURN
  146. 3265 :
  147. 3500 REM REVIEW BY BADGE NUMBER
  148. 3505 :
  149. 3507 XX$=""
  150. 3508 INPUT"[147] DO YOU WISH A PRINTER COPY";XX$
  151. 3509 IFXX$="Y" THEN OPEN4,4:PRINT#4," ":CLOSE4
  152. 3510 INPUT"[147]BADGE NUMBER PLEASE";BN$
  153. 3512 FOR X=1TON
  154. 3513 PRINT"[147]"
  155. 3515 IF BN$<>N$(X,3) THEN 3580
  156. 3520 FOR Y=1TONF
  157. 3525 READA$
  158. 3527 IF XX$="Y" THEN GOSUB 8000
  159. 3530 PRINT"";A$;"[146]";TAB(20);
  160. 3535 PRINTN$(X,Y)
  161. 3536 IF Y=13 THEN GOSUB3950
  162. 3540 NEXTY
  163. 3545 X=N:RESTORE
  164. 3580 NEXT X
  165. 3581 PRINT"HIT C TO CONTINUE"
  166. 3582 GET G$:IF G$=""THEN3582
  167. 3583 RETURN
  168. 3585 :
  169. 3636 IF Y=13 THEN GOSUB 3950
  170. 3700 REM PLATOON REVIEW
  171. 3705 :
  172. 3707 XX$=" "
  173. 3708 INPUT"[147] DO YOU WISH A PRINTER COPY";XX$
  174. 3709 IFXX$="Y" THEN OPEN4,4:PRINT#4," ":CLOSE4
  175. 3710 INPUT"[147]ENTER PLATOON NUMBER PLEASE";PN$
  176. 3715 FOR X=1TON
  177. 3716 PRINT"[147]"
  178. 3720 IF PN$<>N$(X,4) THEN 3780
  179. 3725 FOR Y=1TONF
  180. 3727 IFXX$="Y" THEN GOSUB 8000
  181. 3730 READ A$
  182. 3735 PRINT"";A$;"[146]";TAB(20);
  183. 3740 PRINTN$(X,Y)
  184. 3741 IF Y=13 THEN GOSUB 3950
  185. 3745 NEXTY
  186. 3750 RESTORE
  187. 3751 GOSUB 3950
  188. 3780 NEXTX
  189. 3781 PRINT"HIT C TO CONTINUE"
  190. 3782 GETG$:IF G$="" THEN 3782
  191. 3785 RETURN
  192. 3790 :
  193. 3950 PRINT"HIT C TO CONTINUE"
  194. 3955 GETG$
  195. 3960 IF G$="C" THEN PRINT"[147]"
  196. 3965 IF G$=""THEN 3955
  197. 3970 RETURN
  198. 4000 REM SORT ROUTINE
  199. 4005 :
  200. 4010 PRINT"[147]SORT MENU[146]"
  201. 4011 PRINT"REVIEW THE MENU AND PICK THE NUMBER OF THE FIELD YOU WISH TO BE SORTED"
  202. 4015 FOR Y=1TONF
  203. 4020 READA$
  204. 4025 PRINTY,A$
  205. 4026 IF Y=13 THEN GOSUB3950
  206. 4030 NEXT Y
  207. 4035 RESTORE
  208. 4040 INPUT"PICK A NUMBER[146]";SF
  209. 4045 PRINT"[147]SORTING"
  210. 4050 FOR U=1TON-1
  211. 4055 FLAG=0
  212. 4060 FOR V=1TON-U
  213. 4065 IF N$(V,SF)>N$(V+1,SF)THEN GOSUB 4500
  214. 4070 NEXTV
  215. 4075 IF FLAG =0 THEN U=N-1
  216. 4080 NEXTU
  217. 4085 RETURN
  218. 4090 :
  219. 4500 REM SWITCH ROUTINE
  220. 4505 :
  221. 4510 FOR T=1TO NF
  222. 4515 T$=N$(V,T)
  223. 4520 N$(V,T)=N$(V+1,T)
  224. 4525 N$(V+1,T)=T$
  225. 4530 NEXT T
  226. 4535 FLAG =1
  227. 4540 RETURN
  228. 4545 :
  229. 5000 REM LOADING ROUTINE
  230. 5005 :
  231. 5010 PRINT"[147]PRESS PLAY ON TAPE"
  232. 5015 PRINT"HIT 'C' TO CONTINUE"
  233. 5020 GETA$:   IF A$="" THEN 5020
  234. 5025 OPEN1,8,3,"DATA FILE,S,R"
  235. 5030 INPUT#1,N
  236. 5035 FOR X=1TO N
  237. 5040 FOR Y=1TO NF
  238. 5045 INPUT#1,N$(X,Y)
  239. 5050 NEXTY
  240. 5055 NEXTX
  241. 5060 CLOSE1
  242. 5061 RETURN
  243. 5065 :
  244. 6000 REM    SAVING ROUTINE
  245. 6005 :
  246. 6010 PRINT"[147]REWIND TAPE AND PRESS PLAY/RECORD"
  247. 6012 OPEN1,8,15,"S0:DATA FILE":CLOSE1
  248. 6015 OPEN1,8,3,"DATA FILE,S,W"
  249. 6020 PRINT#1,N
  250. 6025 FOR X=1TON
  251. 6030 FOR Y=1TO NF
  252. 6035 PRINT#1,N$(X,Y)
  253. 6040 NEXTY
  254. 6045 NEXTX
  255. 6050 CLOSE1
  256. 6055 RETURN
  257. 6060 :
  258. 7000 REM END ROUTINE
  259. 7001 PRINT"DID YOU SAVE EVERYTHING?"
  260. 7002 GETG$:IFG$=""THEN7002
  261. 7003 IF G$<>"Y"THEN127
  262. 7005 :
  263. 7010 PRINT"[147][145][145][145][157][157][157]BYE FOR NOW MUFFIN[146]"
  264. 7015 END
  265. 7020 RETURN
  266. 8000 OPEN4,4
  267. 8005 PRINT#4,A$;CHR$(16);"40";N$(X,Y)
  268. 8010 CLOSE4
  269. 8015 RETURN
  270. 10000 DATA NAME,RANK,BADGE NUMBER,PLATOON,ADDRESS 1,ADDRESS 2,RES PHONE
  271. 10005 DATA BUS PHONE,DATE JOINED,DATE PROMOTED,B CARD (Y/N)
  272. 10010 DATA DATE OR ISSUE,DOC A POS,DOC B NEG,PROBATIONS,LOA
  273. 10015 DATA PERFORMANCE REVIEW,MEETINGS #P,MEETINGS #E,MEETINGS #A,TOTAL HOURS
  274. 10020 DATA CAR/BEAT Y/T/D HRS,SPECIALS #P,SPECIALS #E,SPECIALS #A,TOTAL HOURS
  275. 10025 DATA GRAND TOTAL Y/T/D
  276.